package com.kingyun.gpsinspection.purificationservice.facade.service.jsm.entityoperatetype;

import com.alibaba.fastjson.JSONObject;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Employee;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EntityOperateType;

import java.util.List;
import java.util.Map;

/**
 * Created by huangxueqian@cqhilink.com on 2016/11/29.
 * 实体操作类型服务类
 */
public interface JsmEntityOperateTypeService {

    /**
     * 实体操作类型列表
     *
     * @return
     */
    public JSONObject toEntityOperateTypeTable(EntityOperateType entityOperateType);

    /**
     * 实体操作类型-新增
     *
     * @param entityOperateType 实体操作类型
     * @return
     * @throws Exception
     */
    int addEntityOperate(EntityOperateType entityOperateType, Employee employee) throws Exception;

    /**
     * 实体操作类型-修改
     *
     * @param entityOperateType entityOperateType
     * @return
     * @throws Exception
     */
    int updateEntityOperate(EntityOperateType entityOperateType, Employee employee) throws Exception;

    /**
     * 实体操作类型-查询
     *
     * @param entityOperateId 根据实体操作类型唯一标识
     * @return
     * @throws Exception
     */
    EntityOperateType entityTypefindById(String entityOperateId) throws Exception;

    /**
     * 实体操作类型-查询
     *
     * @param entityOperateIds 实体操作类型唯一标识查询条件
     * @return
     * @throws Exception
     */
    int entityOperateTypeDelByIds(Map entityOperateIds) throws Exception;

    /**
     * 实体操作类型-查询列表
     *
     * @param query 实体操作类型唯一标识查询条件
     * @return
     * @throws Exception
     */
    List<EntityOperateType> queryEntityOperateTypeList(Map query) throws Exception;


    /**
     * @param entityOperateType 操作类型组合数据
     *                          查询操作类型方法
     */
    EntityOperateType queryEntityOperateType(EntityOperateType entityOperateType) throws Exception;


}
